package com.example.ibsp_demo.mapper.user;

import com.example.ibsp_demo.pojo.entity.user.FollowRelation; // 替换为实际包路径
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

@Mapper
public interface FollowRelationMapper {

    // 查询关注关系（判断是否已关注）
    FollowRelation selectByFollowerAndFollowed(Integer followerId, Integer followedId);

    // 查询用户的关注列表（我关注了谁）
    List<FollowRelation> selectFollowingByFollowerId(Integer followerId);

    // 查询用户的粉丝列表（谁关注了我）
    List<FollowRelation> selectFollowersByFollowedId(Integer followedId);
    /*
    *
    * 查询关注列表，但是只要用户id
    *
    * */
    List<Integer> selectFollowedIdByFollowerId(Integer followerId);


    // 关注用户（新增关系）
    int follow(FollowRelation relation);

    // 取消关注（删除关系）
    int unfollow(Integer followerId, Integer followedId);

    // 统计用户的关注数
    Integer countFollowing(Integer followerId);

    // 统计用户的粉丝数
    Integer countFollowers(Integer followedId);
}